using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Views.Grid;
using Барс;
using Барс.Ядро;
using Барс.Интерфейс;
namespace Аккорд
{
	public partial class ФормаРеестраПродаж
	{
		#region Обработчик события редактор_ИзменитьЭтап_Нажатие (1cc404f5-3571-4da7-963e-3843420d978a)
		private void редактор_ИзменитьЭтап_Нажатие( object Отправитель, АргументыСобытия Аргументы )
		{
		    Продажа продажа = таблица.ТекущийОбъектКоллекцииКак<Продажа>();

            if (продажа == null)
            {
                Сообщение.ПоказатьПредупреждение("Не выбрана продажа для изменения статуса");
                return;
            }

            ПереходЭтапаПродажи переход = new ПереходЭтапаПродажи();
            переход.Продажа = продажа;
            переход.Менеджер = ПеременныеПриложения.ТекущийМенеджер;
            переход.ДатаИзменения = DateTime.Now;
            переход.ПредыдущийЭтап = продажа.Этап;

            ФормаПереходаПродажи форма = new ФормаПереходаПродажи();
            форма.РедактируемыйОбъект = переход;
            if (форма.ПоказатьДиалог() == РезультатДиалога.OK)
            {
                переход.СохранитьИПеревестиЭтап();
                таблица.Обновить();
            }
		}
		#endregion
		
		#region Обработчик события ФормаРеестраПродаж_Открытие (69842ca3-1aea-44af-a43a-0f59f12fe61e)
		private void ФормаРеестраПродаж_Открытие( object Отправитель, АргументыСобытия Аргументы )
		{
            реестр = new РеестрПродаж();
            if (ПеременныеПриложения.ТекущийМенеджер != null)
            {
                реестр.Элементы.Запрос.ДобавитьУсловиеОтбора("Менеджер", ПеременныеПриложения.ТекущийМенеджер);
                таблица.ТекущееПредставление.Columns.Remove(столбец_Менеджер);
            }

            таблица.ТекущееПредставление.OptionsDetail.EnableMasterViewMode = true;
            таблица.ТекущееПредставление.OptionsDetail.ShowDetailTabs = false;

            // создаем Detail view
            GridView detailGridView = new GridView();
            detailGridView.OptionsView.ShowGroupPanel = false;
            detailGridView.OptionsBehavior.AutoPopulateColumns = false;
            detailGridView.OptionsBehavior.AutoExpandAllGroups = false;
            detailGridView.OptionsBehavior.AutoSelectAllInEditor = false;
            detailGridView.OptionsBehavior.AutoUpdateTotalSummary = false;

            detailGridView.OptionsDetail.ShowDetailTabs = false;
            detailGridView.OptionsView.ShowPreview = true;
		    detailGridView.PreviewLineCount = 2;
            detailGridView.PreviewFieldName = "Описание";

            detailGridView.BeginInit();

            СтолбецТаблицы столбецДата = new СтолбецТаблицы();
            detailGridView.Columns.Add(столбецДата);
            столбецДата.ИмяПоляИсточникаДанных = "ДатаИзмененияСтрокой";
            столбецДата.Заголовок = "Дата изменения";

            СтолбецТаблицы столбецПредыдущийЭтап = new СтолбецТаблицы();
            detailGridView.Columns.Add(столбецПредыдущийЭтап);
            столбецПредыдущийЭтап.ИмяПоляИсточникаДанных = "ПредыдущийЭтапСтрокой";
            столбецПредыдущийЭтап.Заголовок = "Предыдущий этап";
            столбецПредыдущийЭтап.Width = 120;

            СтолбецТаблицы столбецНовыйЭтап = new СтолбецТаблицы();
            detailGridView.Columns.Add(столбецНовыйЭтап);
            столбецНовыйЭтап.ИмяПоляИсточникаДанных = "НовыйЭтапСтрокой";
            столбецНовыйЭтап.Заголовок = "Новый этап";
            столбецНовыйЭтап.Width = 120;

            СтолбецТаблицы столбецСумма = new СтолбецТаблицы();
            detailGridView.Columns.Add(столбецСумма);
            столбецСумма.ИмяПоляИсточникаДанных = "Сумма";
		    столбецСумма.СтрокаФорматирования = "N2";
            столбецСумма.Заголовок = "Изменение суммы";
            столбецСумма.Width = 120;

            GridLevelNode gridLevelNode = new GridLevelNode();
            gridLevelNode.LevelTemplate = detailGridView;
            gridLevelNode.RelationName = "ПереходыЭтапов";

            таблица.LevelTree.Nodes.Add(gridLevelNode);
            таблица.ViewCollection.Add(detailGridView);

            реестр.Элементы.ЗагрузитьПолностью();

		    таблица.ПунктыСтандартногоМеню = СтандартныеПунктыМенюТаблицы.Редактирование;
		    таблица.ИсточникЗаписей = реестр.Элементы;
            таблица.Обновить();
		}
		#endregion
		
	}
}